import request from "../../utils/request"
import Auth from "../../utils/auth"
// pages/shopcar/shopcar.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    url: "http://localhost:5000",
    cartList: [],
    slideButtons: [{
      type: 'warn',
      text: '删除'
    }]
  },

  handleTap(evt) {
    var item = evt.currentTarget.dataset.item;
    item.checked = !item.checked;
    this.handleUpdate(item);
  },

  handleUpdate(item) {
    this.setData({
      cartList: this.data.cartList.map(data=>{
        if(data.id === item.id) {
          return item;
        }
        return data;
      })
    })
    request({
      url: `/carts/${item.id}`,
      method: "put",
      data: {
        "userName": item.userName,
        "tel": item.tel,
        "number": item.number,
        "checked": item.checked,
        "goodId": item.goodId
      }
    })
  },

  handleAdd(evt) {
    var item = evt.currentTarget.dataset.item;
    item.number++;
    this.handleUpdate(item);
  },

  handleMinus(evt) {
    var item = evt.currentTarget.dataset.item;
    if(item.number === 1) {
      return ;
    }
    item.number--;
    this.handleUpdate(item);
  },

  slideButtonTap(evt) {
    var id = evt.currentTarget.dataset.id;
    // console.log(id);
    this.setData({
      cartList: this.data.cartList.filter(item=>(item.id !== id))
    });
    request({
      url: `/carts/${id}`,
      method: "delete"
    })
  },

  selectAll(evt) {
    // console.log("run");
    if(evt.detail.value.length === 0) {
      this.setData({
        cartList: this.data.cartList.map(item=>({
          ...item,
          checked: false
        }))
      })
    } else {
      this.setData({
        cartList: this.data.cartList.map(item=>({
          ...item,
          checked: true
        }))
      })
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    Auth(()=>{
      var {nickName} = wx.getStorageSync('token');
      var tel = wx.getStorageSync('tel');
      request({
        url: `/carts?_expand=good&userName=${nickName}&tel=${tel}`
      }).then(res=>{
        // console.log(res);
        this.setData({
          cartList: res
        })
      })
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})